package com.egao.common.module.student.mapper;

import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.egao.common.core.web.PageParam;
import com.egao.common.module.push.entity.PushMsg;
import com.egao.common.publicly.entity.PubliclyCareerVO;
import org.apache.ibatis.annotations.Param;

import java.util.List;

/**
 * 推送信息mapper接口
 * @author pyx
 */
public interface StudentMatchingMapper extends BaseMapper<PushMsg> {
    /**
     * 分页查询推送的招聘信息
     * @param page 分页参数
     * @param xh 学号
     * @return
     */
    List<PubliclyCareerVO> listRecruit(@Param("page") PageParam<PubliclyCareerVO> page, @Param("xh") String xh);

    /**
     * 分页查询推送的宣讲会信息
     * @param page 分页参数
     * @param xh 学号
     * @return
     */
    List<PubliclyCareerVO> listPreach(@Param("page") PageParam<PubliclyCareerVO> page, @Param("xh") String xh);

    /**
     * 分页查询推送的空中宣讲会信息
     * @param page 分页参数
     * @param xh 学号
     * @return
     */
    List<PubliclyCareerVO> listPreachCloud(@Param("page") PageParam<PubliclyCareerVO> page, @Param("xh") String xh);

    /**
     * 动态分页查询推送的招聘信息
     * @param page 分页参数
     * @param xh 学号
     * @param tableName 表名
     * @return
     */
    List<PubliclyCareerVO> dynamicListRecruit(@Param("page") PageParam<PubliclyCareerVO> page,
                                              @Param("xh") String xh,
                                              @Param("tableName") String tableName);

    /**
     * 动态分页查询推送的宣讲会信息
     * @param page 分页参数
     * @param xh 学号
     * @param tableName 表名
     * @return
     */
    List<PubliclyCareerVO> dynamicListPreach(@Param("page") PageParam<PubliclyCareerVO> page,
                                             @Param("xh") String xh,
                                             @Param("tableName") String tableName);

    /**
     * 动态分页查询推送的空中宣讲会信息
     * @param page 分页参数
     * @param xh 学号
     * @param tableName 表名
     * @return
     */
    List<PubliclyCareerVO> dynamicListPreachCloud(@Param("page") PageParam<PubliclyCareerVO> page,
                                                  @Param("xh") String xh,
                                                  @Param("tableName") String tableName);

    /**
     * 根据年份修改推送消息的状态
     * @param pushMsgId
     * @param tableName
     * @return
     */
    PushMsg dynamicSelectById(@Param("id") Integer pushMsgId,
                              @Param("tableName") String tableName);
}
